# _*_ coding : utf-8 _*_
'''

作者 : 解洋
时间: 2020-3-25
'''
# _*_ coding : utf-8 _*_
'''
作者 : 解洋
时间: 2020-3-24
'''

class CAgent():
    def __init__(self):
        self.class_name = 'aircraft_'
    def test(self,scenario):
        for side_k , side_v in scenario.get_sides().items():
            satellites = side_v.get_satellites()
            if len(satellites)> 0:
                #测试卫星
                print(7)
                for sat_k , sat_v in satellites.items():
                    print('mount:')
                    print(sat_v.get_mounts())
                    print('senaor')
                    print(sat_v.get_sensor())
                    print('magazine')
                    print(sat_v.get_magazines())
                    print('doctine')
                    print(sat_v.get_doctrine())
                    print('# 对象类名')
                    print(sat_v.ClassName)
                    print('# 名称')
                    print(sat_v.strName)
                    print('# Guid')
                    print(sat_v.strGuid)
                    print('# 地理高度')
                    print(sat_v.fAltitude_AGL)
                    print('# 海拔高度')
                    print(sat_v.iAltitude_ASL)
                    print('# 所在推演方ID')
                    print(sat_v.m_Side)
                    print('# 单元类别')
                    print(sat_v.strUnitClass)
                    print('# 当前纬度')
                    print(sat_v.dLatitude)
                    print('# 当前经度')
                    print(sat_v.dLongitude)
                    print('# 当前朝向')
                    print(sat_v.fCurrentHeading)
                    print('# 当前速度')
                    print(sat_v.fCurrentSpeed)
                    print('# 当前海拔高度')
                    print(sat_v.fCurrentAltitude_ASL)
                    print('# 倾斜角')
                    print(sat_v.fPitch)
                    print('# 翻转角')
                    print(sat_v.fRoll)
                    print('# 获取期望速度')
                    print(sat_v.fDesiredSpeed)
                    print('# 获取最大油门')
                    print(sat_v.m_MaxThrottle)
                    print('# 最大速度')
                    print(sat_v.fMaxSpeed)
                    print('# 最小速度')
                    print(sat_v.fMinSpeed)
                    print('# 当前高度')
                    print(sat_v.fCurrentAlt)
                    print('# 期望高度')
                    print(sat_v.fDesiredAlt)
                    print('# 最大高度')
                    print(sat_v.fMaxAltitude)
                    print('# 最小高度')
                    print(sat_v.fMinAltitude)
                    print('# 军标ID')
                    print(sat_v.strIconType)
                    print('# 普通军标')
                    print(sat_v.strCommonIcon)
                    print('# 数据库ID')
                    print(sat_v.iDBID)
                    print('# 是否可操作')
                    print(sat_v.bIsOperating)
                    print('# 编组ID')
                    print(sat_v.m_ParentGroup)
                    print('# 停靠的设施的ID(关系)')
                    print(sat_v.m_DockedUnits)
                    print('# 单元的停靠设施(部件)')
                    print(sat_v.m_DockFacilitiesComponent)
                    print('# 停靠的飞机的ID(关系)')
                    print(sat_v.m_DockAircrafts)
                    print('# 单元的航空设施(部件)')
                    print(sat_v.m_AirFacilitiesComponent)
                    print('# 单元的通信设备及数据链(部件)')
                    print(sat_v.m_CommDevices)
                    print('# 单元的引擎(部件')
                    print(sat_v.m_Engines)
                    print('# 传感器，需要构建对象类,所以只传ID')
                    print(sat_v.m_Sensors)
                    print('# 挂架')
                    print(sat_v.m_Mounts)
                    print('# 毁伤状态')
                    print(sat_v.strDamageState)
                    print('# 失火')
                    print(sat_v.iFireIntensityLevel)
                    print('# 进水')
                    print(sat_v.iFloodingIntensityLevel)
                    print('# 分配的任务')
                    print(sat_v.m_AssignedMission)
                    print('# 作战条令')
                    print(sat_v.m_Doctrine)
                    print('# 系统右栏->对象信息->作战单元武器')
                    print(sat_v.m_UnitWeapons)
                    print('# 路径点')
                    print(sat_v.m_WayPoints)
                    print('# 训练水平')
                    print(sat_v.m_ProficiencyLevel)
                    print('# 是否是护卫角色')
                    print(sat_v.bIsEscortRole)
                    print('# 当前油门')
                    print(sat_v.m_CurrentThrottle)
                    print('# 通讯设备是否断开')
                    print(sat_v.bIsCommsOnLine)
                    print(sat_v.bIsIsolatedPOVObject)
                    print('# 地形跟随')
                    print(sat_v.bTerrainFollowing)
                    print(sat_v.bIsRegroupNeeded)
                    print('# 保持阵位')
                    print(sat_v.bHoldPosition)
                    print('# 是否可自动探测')
                    print(sat_v.bAutoDetectable)
                    print('# 当前货物')
                    print(sat_v.m_Cargo)
                    print('# 燃油百分比，作战单元燃油栏第一个进度条的值')
                    print(sat_v.dFuelPercentage)
                    print('# 获取AI对象的目标集合# 获取活动单元AI对象的每个目标对应显示不同的颜色集合')
                    print(sat_v.m_AITargets)
                    print('# 获取活动单元AI对象的每个目标对应显示不同的颜色集合')
                    print(sat_v.m_AITargetsCanFiretheTargetByWCSAndWeaponQty)
                    print('# 获取单元的通讯链集合')
                    print(sat_v.m_CommLink)
                    print('# 获取传感器0')
                    print(sat_v.m_NoneMCMSensors)
                    print('# 获取显示"干扰"或"被干扰"')
                    print(sat_v.iDisturbState)
                    print('# 单元所属多个任务数量')
                    print(sat_v.iMultipleMissionCount)
                    print('# 单元所属多个任务guid拼接')
                    print(sat_v.m_MultipleMissionGUIDs)
                    print('# 是否遵守电磁管控')
                    print(sat_v.bObeysEMCON)
                    print('# 武器预设的打击航线')
                    print(sat_v.m_strContactWeaponWayGuid)
                    print('# 停靠参数是否包含码头')
                    print(sat_v.bDockingOpsHasPier)
                    print('弹药库')
                    print(sat_v.m_Magazines)
                    print('被摧毁')
                    print(sat_v.dPBComponentsDestroyedWidth)
                    print("轻度")
                    print(sat_v.dPBComponentsLightDamageWidth)
                    print('# 中度')
                    print(sat_v.dPBComponentsMediumDamageWidth)
                    print('''# 重度''')
                    print(sat_v.dPBComponentsHeavyDamageWidth)
                    print('''# 重度''')
                    print(sat_v.dPBComponentsHeavyDamageWidth)
                    print('''# 正常''')
                    print(sat_v.dPBComponentsOKWidth)
                    print('''# 配属基地''')
                    print(sat_v.m_HostActiveUnit)
                    print(''' # 状态''')
                    print(sat_v.strActiveUnitStatus)
                    print('''# 精简''')
                    print(sat_v.doctrine)
                    sat_v.set_radar_shutdown('true')
                    sat_v.set_sonar_shutdown('true')
                    sat_v.set_oecm_shutdown('true')
            scenario.mozi_server.run_simulate()
            # self.mozi_server.run_simulate()
            # self.mozi_server.run_simulate()